package com.yaoxun.bored.mapper.sys.menu;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.yaoxun.bored.common.MyMapper;
import com.yaoxun.bored.model.sys.menu.Menu;

import tk.mybatis.mapper.common.Mapper;

public interface MenuMapper extends Mapper<Menu>, MyMapper<Menu> {

	public List<Menu> selectByPid(Integer parentId);
	
	/**
	 * 通过角色ID，查询出首页菜单，已经去除重复项，按照sort字段排序
	 * @param roleIds
	 * @param parentId 上级菜单ID
	 * @return
	 */
	public List<Menu> selectMenuUseIndex(@Param("roleIds")Integer[] roleIds, 
					@Param("parentId")Integer parentId);
	
	/**
	 * 判断该菜单是否还有子节点
	 * @author Loren
	 * @createTime 2018年2月6日 上午11:57:00
	 * @param menuId
	 * @return
	 */
	public int selectExistChildren(Integer menuId);
	
	/**
	 * 查询当前的上级ID
	 * @author Loren
	 * @createTime 2018年2月8日 上午9:01:43
	 * @param menuId
	 * @return
	 */
	public Integer selectCountPidLeaf(Integer menuId);
	/**
	 * 查询出菜单的上级ID
	 * @author Loren
	 * @createTime 2018年2月8日 上午9:19:28
	 * @param menuId
	 * @return
	 */
	public Integer selectPid(Integer menuId);
	/**
	 * 查询上级菜单的子节点数量
	 * @author Loren
	 * @createTime 2018年2月8日 上午9:22:39
	 * @param parentId
	 * @return
	 */
	public int countLeafByPid(Integer parentId);
	
	public int updatePath(@Param("menuId")Integer menuId, @Param("path") String path);
	
	public int updateLeaf(@Param("menuId") Integer menuId, @Param("leaf") Integer leaf);
}
